package com.jie.langlangmall.service;

import com.jie.langlangmall.dto.PmsProductAttributeCategoryItem;
import com.jie.langlangmall.model.PmsProductAttributeCategory;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @Author Jie
 * @Date 2024/11/23
 * @Email 3217998214@qq.com
 * @Description 商品属性分类管理
 */
public interface PmsProductAttributeCategoryService {

    /**
     * 分页查询所有属性分组
     *
     * @param pageSize
     * @param pageNum
     * @return
     */
    List<PmsProductAttributeCategory> list(Integer pageSize, Integer pageNum);

    /**
     * 获取商品属性分组，包括组内的属性
     *
     * @return
     */
    List<PmsProductAttributeCategoryItem> listWithAttr();

    /**
     * 更细属性分组信息
     *
     * @param id
     * @param name
     */
    void update(Long id, String name);

    /**
     * 删除某个商品的属性分类
     *
     * @param id
     */
    @Transactional
    void delete(Long id);

    /**
     * 新增加商品属性分类
     *
     * @param name
     */
    void create(String name);

    /**
     * 获取单个商品属性分类详情
     *
     * @param id
     * @return
     */
    PmsProductAttributeCategory getItem(Long id);
}
